package com.bnq.face.face_recognition

import android.content.Context
import android.graphics.Paint
import android.util.Size


class DensityUtil {
    companion object{
        // 根据手机的分辨率从 dp 的单位 转成为 px(像素)
        fun dip2px(context: Context, dpValue: Float): Int {
            // 获取当前手机的像素密度（1个dp对应几个px）
            val scale: Float = context.resources.displayMetrics.density
            return (dpValue * scale + 0.5f).toInt() // 四舍五入取整
        }

        // 根据手机的分辨率从 px(像素) 的单位 转成为 dp
        fun px2dip(context: Context, pxValue: Float): Int {
            // 获取当前手机的像素密度（1个dp对应几个px）
            val scale: Float = context.resources.displayMetrics.density
            return (pxValue / scale + 0.5f).toInt() // 四舍五入取整
        }

        fun getScreenWidth(context: Context):Int{
            val resources = context.resources
            val dm = resources.displayMetrics
            val screenWidth: Int = dm.widthPixels
            return screenWidth
        }

        fun getScreenHeight(context: Context):Int{
            val resources = context.resources
            val dm = resources.displayMetrics
            val screenHeight: Int = dm.heightPixels
            return screenHeight
        }

        fun getScreenDensity(context: Context):Float{
            return context.resources.displayMetrics.density
        }

        fun getTextViewMeasureTextWidth(textSize:Float,text:String):Float{
            // 创建 Paint 对象并设置相关属性
            val paint = Paint()
            paint.textSize = textSize // 设置字体大小与 TextView 保持一致
            val textWidth = paint.measureText(text) // 使用 measureText() 方法计算文本宽度
           return textWidth
        }
    }
}